Vyhledavani podle casti retezce
Otázka od: Lada
25. 7. 2004 17:29
Zdravim vsechny,
mam opet jeden zacatecnickej...
poradi nekdo prosim, proc mne nefunguje toto...?
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('SELECT * from tabulka');
IBQuery1.SQL.Add('WHERE UPPER(Prijmeni) LIKE ''%UPPER(ko)%'' ');
IBQuery1.Active := true;
takto dostanu prazdny vysledek. Predpokladam chybu nekde v uvozovkach,
ale uz jsem vyzkousel ledacos..
Jeste bych se rad zeptal: Jak by se v takovemto dotazu dala zadat cast
retezce, podle ktere hledam parametrem?
Dik moc za pripadnou odpoved,
Lada
Odpovedá: Jakub Dusek
25. 7. 2004 18:05
1)
IBQuery1.SQL.Add('WHERE UPPER(Prijmeni) LIKE ''%'' + UPPER(ko) + ''%'' ');
zalezi na databazi, muze to byt i:
IBQuery1.SQL.Add('WHERE UPPER(Prijmeni) LIKE ''%'' || UPPER(ko) || ''%'' ');
2)
IBQuery1.SQL.Add('WHERE UPPER(Prijmeni) LIKE :param1');
IBQuery1.ParamByName('param1').AsString := '%text%'
Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
=> Sms GateKeeper, Sms GateKeeper Service
======================================================================
Sunday, July 25, 2004, 6:29:34 PM, you wrote:
L> Zdravim vsechny,
L> mam opet jeden zacatecnickej...
L> poradi nekdo prosim, proc mne nefunguje toto...?
L> IBQuery1.SQL.Clear;
L> IBQuery1.SQL.Add('SELECT * from tabulka');
L> IBQuery1.SQL.Add('WHERE UPPER(Prijmeni) LIKE ''%UPPER(ko)%'' ');
L> IBQuery1.Active := true;
L> takto dostanu prazdny vysledek. Predpokladam chybu nekde v uvozovkach,
L> ale uz jsem vyzkousel ledacos..
L> Jeste bych se rad zeptal: Jak by se v takovemto dotazu dala zadat cast
L> retezce, podle ktere hledam parametrem?
L> Dik moc za pripadnou odpoved,
L> Lada
Odpovedá: Pesek Michal
26. 7. 2004 7:39
> IBQuery1.SQL.Add('WHERE UPPER(Prijmeni) LIKE ''%UPPER(ko)%'' ');
> takto dostanu prazdny vysledek. Predpokladam chybu nekde v uvozovkach
Hi,
Chybu bych nevidel v uvozovkach, ale v tech procentech
IBQuery1.SQL.Add('WHERE UPPER(Prijmeni) LIKE ''%UPPER(ko%)'' ');
Michal PEPR Pesek
Odpovedá: Milan Tomes
26. 7. 2004 7:23
IMHO dle prikazu, ktery tazatel napsal to hleda retezec, ktery obsahuje
podretezec 'UPPER(ko)'.
Procenta ma dobre... Jen je nutne to udelat trochu jinak -
IBQuery1.SQL.Add('WHERE UPPER(Prijmeni) LIKE UPPER(''%ko%'')');
HTH
Milan Tomes
> [mailto:delphi-l-owner@clexpert.cz]On Behalf Of Pesek Michal
> Sent: Monday, July 26, 2004 8:03 AM
>
> > IBQuery1.SQL.Add('WHERE UPPER(Prijmeni) LIKE ''%UPPER(ko)%'' ');
> > takto dostanu prazdny vysledek. Predpokladam chybu nekde v uvozovkach
>
> Hi,
> Chybu bych nevidel v uvozovkach, ale v tech procentech
> IBQuery1.SQL.Add('WHERE UPPER(Prijmeni) LIKE ''%UPPER(ko%)'' ');
>
> Michal PEPR Pesek